function print(data) {
    layer.msg('打印命令已发送', { time: 2000 });
    var font_name = '黑体';
    //尝试向打印后台发送消息
    ws.send('B_EnumUSB');
    ws.send('B_CreateUSBPort|1');
    ws.send('B_Set_Darkness|' + print_depth);//设定打印头打印热度，范围：0～15，默认是 8。
    ws.send('B_Set_Direction|B');		//设置打印方向，默认为反向， B为正向
    ws.send('B_Set_Labwidth|690');//设置标签宽度，当使用此函数，就不能使用 B_Set_Originpoint 函数
    ws.send('B_Set_Labgap|465|24');//int B_Set_Labgap(int lablength, int gaplength)高度及 GAP 长度
    // ws.send('B_Set_Originpoint|0|0');//设置打印初始位置
    for (var i in data) {
        // console.log(data);
        var item = data[i];
        let print_num = parseInt(item.remark) ? parseInt(item.remark) : 1; 
        for (var j = print_num; j > 0; j--) {
            /* 通用 start */
            if (is_profession_ver && have_barcode) {
                // 专业版才打印二维码
                ws.send('B_Bar2d_QR|525|100|2|4|M|A|1|1|0|' + item.url);//右上角二维码
            }
            let nameSize = setting_sys.passedCard_company_name_font_size;
            ws.send('B_Prn_Text_TrueType|' + company_name_pos + '|50|'+nameSize+'|' + font_name + '|1|600|0|0|0|C1|' + company_name);//公司名称
            /* 通用 end */

            /* 山西晋中 世纪中试 start */
            // ws.send('B_Prn_Text_TrueType|36|38|34|' + font_name + '|1|600|0|0|0|C1|' + company_name);
            /* 山西晋中 世纪中试 end */
            let title = item.res === '不合格' ?  '不 合 格' :  '合 格 证';
            ws.send('B_Prn_Text_TrueType|240|102|55|' + font_name + '|1|600|0|0|0|C2|'+title);//合格证
            let test_name_arr = item.tester_names.split(' ');
            let audit_man = item.audit_man == undefined ? '' : item.audit_man;
            let data2 = [
                '样品名称：'+ item.tool_name,
                '规格型号：'+ item.guige_xinghao,
                '试样编号：'+ item.bar_code,
                '试验日期：'+ item.test_time,
                '下次试验日期：'+ item.next_time,
                '试验人：'+ test_name_arr[0]+' '+audit_man
                //'备注：'+ (item.remark ? item.remark : '/')
            ];
            let y = 130;
            for(let i in data2){
                y += 43;
                ws.send('B_Prn_Text_TrueType|40|'+y+'|35|' + font_name + '|1|600|0|0|0|C'+y+'|'+ data2[i]);
            }
            ws.send('B_Print_Out|1');
            try{
                ajax('post','addSamplePrint',{bar_code:item.bar_code},'',0,0);
            }catch(err){
                console.log('增加打印次数出错');
                console.log(err.message);
            }
        }
    }
    ws.send('B_ClosePrn');
}

function printCodeImg(data) {
    // $('#card-img').removeClass('hidden');
    for (i in data){
        let item = data[i],
            x=y=10,
            width = 260,
            fontSize = 12,
            nameLen = company_name.length, 
            nameX=(width-nameLen*fontSize)/2,
            qrcode = item.url;
        if(qrcode != ''){
            new QRCode('qrcode',{
                width: 50,
                height: 50
            }).makeCode(qrcode);
        }
        var c=document.getElementById("canvas"),
            cxt = c.getContext("2d");
        cxt.fillStyle="#ffffff";  //背景色
        cxt.fillRect(0,0,1000,1000);
        cxt.fillStyle = "#000000";  //文字颜色
        if(qrcode != ''){
            cxt.drawImage($('#qrcode').find('canvas')[0],210,40);  //右上角
        }
        cxt.font = "bold "+fontSize+"px 黑体";
        y += 20;cxt.fillText(company_name,nameX,y);
        cxt.font = "normal 24px 黑体";
        y += 30; cxt.fillText(item.res === '不合格' ?  '不 合 格 证' :  '合 格 证',x+80,y);
        cxt.font = "normal "+fontSize+"px 黑体";
        y += 20; cxt.fillText("试样名称："+item.tool_name,x,y);
        y += 18; cxt.fillText("规格型号："+item.guige_xinghao,x,y);
        y += 18; cxt.fillText("试样编号："+item.bar_code,x,y);
        y += 18; cxt.fillText("试验日期："+item.test_time,x,y);
        y += 18; cxt.fillText("下次试验日期："+item.next_time,x,y);
        let test_name_arr = item.tester_names.split(' ');
        let audit_man = item.audit_man == undefined ? '' : item.audit_man;
        y += 18; cxt.fillText("试 验 人："+ test_name_arr[0]+' '+audit_man,x,y);
        downloadIamge(c.toDataURL(),item.bar_code)
    }
}
